package gdr.window.menu;
/**
 * Opzione del menu
 * @author Giorgio Vitale
 *
 */
public class Opzione {
	protected String name;
	protected boolean isFocusable;
	protected boolean isVisible;
	protected boolean isClickable;
	
	public Opzione(){
		this("",false, false, false);
	}
	public Opzione(String name){
		this(name, true);
	}
	
	public Opzione(String name, boolean isFocusable){
		this(name, isFocusable, true, isFocusable);
	}
	
	public Opzione(String name, boolean isFocusable, boolean isVisible, boolean isClickable){
		setName(name);
		setFocusable(isFocusable);
		setVisible(isVisible);
		setClickable(isClickable);
	}
	/**
	 * Azione da eseguire nel caso che venga selezionata questa opzione.
	 */
	public void enter(){
		
	}
	/**
	 * Calcola la larghezza che l'opzione occupa nello schermo
	 * @return la larghezza, in pixel, dell'opzione
	 */
	public int getLarghezzaOpzione(){
		return (int)(name.length()*6.1);
	}
	/**
	 * Calcola l'altezza dell'opzione, intesa come spazio occupato dal testo.
	 * Sono esclusi i margini.
	 * @return
	 */
	public int getAltezzaOpzione(){
		return 14;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public boolean isFocusable() {
		return isFocusable;
	}
	public void setFocusable(boolean isFocusable) {
		this.isFocusable = isFocusable;
	}
	public boolean isVisible() {
		return isVisible;
	}
	public void setVisible(boolean isVisible) {
		this.isVisible = isVisible;
	}
	public boolean isClickable() {
		return isClickable;
	}
	public void setClickable(boolean isClickable) {
		this.isClickable = isClickable;
	}
}
